{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "e77a562b-ee30-45dc-aa3c-a7d5ff4dca39",
   "metadata": {},
   "source": [
    "Chapter 19\n",
    "# 将成对距离矩阵转化为完全图，设定阈值\n",
    "Book_6《数据有道》 | 鸢尾花书：从加减乘除到机器学习"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "5ef50183-894d-48e7-8f33-6f4e9043ba7c",
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import networkx as nx\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "a9527b72-397e-4f37-8e94-a00138a82097",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 12个坐标点\n",
    "points = np.array([[1,6],[4,6],[1,5],[6,0],\n",
    "                   [3,8],[8,3],[4,1],[3,5],\n",
    "                   [9,2],[5,9],[4,9],[8,4]])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "87cde9ba-69fe-40c0-8e57-3c9403d6b361",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 计算成对距离矩阵\n",
    "D = np.linalg.norm(points[:, np.newaxis, :] - points, axis=2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "dc4ba6f4-a356-4489-b911-12336a5be8f2",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 设定阈值\n",
    "threshold = 6\n",
    "D_threshold = D\n",
    "D_threshold[D_threshold > threshold] = 0\n",
    "# 超过阈值置零"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "9bcca240-c1b7-4dcd-8a44-63514ec8e953",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAl0AAAKJCAYAAACBLZwSAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAcSUlEQVR4nO3db6zdZbUn8LVPR08bbI4FpbQRpBEiyt9qsQGMEW0kBBgxRm2pptYXOFrBevxHEwvlghzxJt5GYcDyAsgMHHSGVI1cMaS5SAhIafkzMhkLRGK8Jm31WqnUcHR69rzQafoozd6N+1nP6TmfT7Jf9NfNflZ2QrLyXavP7nS73W4AAFDVUOsCAABmAk0XAEACTRcAQAJNFwBAAk0XAEACTRcAQAJNFwBAAk0XAEACTRcAQAJNFwBAAk0XADCjPfTQQ3HJJZfEwoULo9PpxPe+973i77vdblx99dWxYMGCmDNnTixbtiyee+65wz5H0wUAzGj79u2LM888M26++eZX/Puvf/3r8c1vfjNuvfXWeOyxx+Koo46KCy64IF5++eXDOqfjB68BAP6i0+nE5s2b49JLL42Iv6RcCxcujM9//vPxhS98ISIiXnzxxZg/f37ccccdsXz58r4/W9IFAEw7ExMTsXfv3uI1MTFx2J/zwgsvxM6dO2PZsmUHno2MjMTSpUvj0UcfPazP+k+HfToAQB/etvS/Njv7P1+4O6699tri2TXXXBMbNmw4rM/ZuXNnRETMnz+/eD5//vwDf9cvTRcAMO2sW7cuRkdHi2fDw8ONqvkLTRcAUEVnqNPs7OHh4YE0Wccdd1xEROzatSsWLFhw4PmuXbvirLPOOqzPstMFAHAIixYtiuOOOy62bNly4NnevXvjsccei3POOeewPkvSBQBU0ZnVLuk6HC+99FI8//zzB/78wgsvxFNPPRVHH310nHDCCbF27dq4/vrr4+STT45FixbF+vXrY+HChQf+hWO/NF0AwIy2bdu2OP/88w/8+f/vgq1atSruuOOO+NKXvhT79u2Lyy+/PH7/+9/HO9/5zrj//vtj9uzZh3WOe7oAgCqWvPPWZmdve/i/NDv7UCRdAEAdQ1bHD+bbAABIIOkCAKo4Uhbps0i6AAASaLoAABIYLwIAVbS8kX4qknQBACSQdAEAVVikL0m6AAASSLoAgDpcjlrwbQAAJNB0AQAkMF4EAKqwSF+SdAEAJJB0AQBVuBy1JOkCAEig6QIASGC8CABUYZG+JOkCAEgg6QIAqrBIX5J0AQAkkHQBAHXMku0czLcBAJBA0wUAkMB4EQCowiJ9SdIFAJBA0gUAVOFy1JKkCwAggaYLACCB8SIAUIVF+pKkCwAggaQLAKjCIn1J0gUAkEDSBQDUMSTbOZhvAwAggaYLACCB8SIAUIUrI0qSLgCABJIuAKAKV0aUJF0AAAk0XQAACYwXAYAqLNKXJF0AAAkkXQBAHbNkOwfzbQAAJJB0AQBV2OkqSboAABJougAAEhgvAgBVuJG+JOkCAEgg6QIAqrBIX5J0AQAk0HQBACToe7x4d+fNNesYiOX3ntu6hL7s+KdHW5fQ05NPd1uX0NOH/9s7WpfQl+9+bGvrEnp6977HWpfQ07yxla1L6Mvm659vXUJPK7qbWpfQ287nWlfQl/EF/9y6hJ4u6+5odrZF+pKkCwAggUV6AKCKzpBs52C+DQCABJIuAKCKIVdGFCRdAAAJNF0AAAmMFwGAKowXS5IuAIAEki4AoAqXo5YkXQAACTRdAAAJjBcBgCos0pckXQAACSRdAEAVkq6SpAsAIIGmCwAggfEiAFCF8WJJ0gUAkEDSBQBUMTQk2zmYbwMAIIGkCwCoYshvLxYkXQAACTRdAAAJjBcBgCpcGVGSdAEAJJB0AQBVdCRdBUkXAEACTRcAQALjRQCgCov0JUkXAEACSRcAUIWkqyTpAgBIIOkCAKrw24slSRcAQAJNFwBAAuNFAKAKi/QlSRcAQAJJFwBQxdCQbOdgvg0AgASaLgCABH2PF5ffe27NOgbing8+0rqEviy/7/zWJfT05EX/1rqEnv6843etS+jLiu6m1iX04enWBfT06+27WpcwbXT/dbx1Cb29PNG6gr6s2LOhdQlTWscifUHSBQCQwCI9AFCFKyNKki4AgASSLgCgCr+9WJJ0AQAk0HQBACQwXgQAqrBIX5J0AQAkkHQBAFVIukqSLgCABJouAIAExosAQBXGiyVJFwBAAkkXAFBFZ0i2czDfBgBAAkkXAFCF314sSboAABJougCAGW3//v2xfv36WLRoUcyZMyfe9KY3xXXXXRfdbneg5xgvAgBVHClXRtx4441xyy23xJ133hmnnnpqbNu2LVavXh0jIyNx5ZVXDuwcTRcAMKM98sgj8f73vz8uuuiiiIg48cQTY3x8PLZu3TrQc4wXAYAqhoY6zV4TExOxd+/e4jUxMfGKdZ577rmxZcuWePbZZyMi4umnn46HH344LrzwwsF+HwP9NACAKWBsbCxGRkaK19jY2Cu+96qrrorly5fHKaecEq961ati8eLFsXbt2li5cuVAazJeBACmnXXr1sXo6GjxbHh4+BXf+93vfjfuuuuuuPvuu+PUU0+Np556KtauXRsLFy6MVatWDawmTRcAUEXLRfrh4eFDNll/64tf/OKBtCsi4vTTT49f/vKXMTY2NtCmy3gRAJjR/vjHP8bQ3/xk0axZs2JycnKg50i6AIAqhjpHxpURl1xySXz1q1+NE044IU499dR48skn4xvf+EZ84hOfGOg5mi4AYEb71re+FevXr49Pf/rTsXv37li4cGF88pOfjKuvvnqg52i6AIAqjpTLUefOnRsbN26MjRs3Vj3HThcAQAJNFwBAAuNFAKCKWUfIeDGLpAsAIIGkCwCo4khZpM8i6QIASKDpAgBIYLwIAFRxpNxIn0XSBQCQQNIFAFRhkb4k6QIASCDpAgCqkHSV+m66dvzTozXrGIjl953fuoS+3HPRv7UuYVqYfemS1iX0ZbxzeesSelrR3dS6hJ7mnfTa1iX06Q+tC+jpd+9Z37qEno6Z/XzrEvpyJPz/fVl3ResS+CvjRQCABMaLAEAVQ6Kdgq8DACCBpAsAqGKWy1ELki4AgASaLgCABMaLAEAV7ukqSboAABJIugCAKiRdJUkXAEACTRcAQALjRQCgiiH3dBUkXQAACSRdAEAVFulLki4AgASSLgCgCklXSdIFAJBA0wUAkMB4EQCoYpbxYkHSBQCQQNIFAFThctSSpAsAIIGmCwAggfEiAFCFe7pKki4AgASSLgCgCklXSdIFAJBA0gUAVCHpKkm6AAASaLoAABIYLwIAVbiRviTpAgBIIOkCAKqwSF+SdAEAJNB0AQAkMF4EAKqYZbxYkHQBACSQdAEAVbgyoiTpAgBIIOkCAKpwZURJ0gUAkKDT7Xa7/bzx7s6ba9cC09KKbctbl9DTy9/b1rqEnvasu6t1CX1Z8H/+pXUJPY0vuad1CdPGij0bWpfQU+e1K5qd/T927G529ofefGyzsw/FeBEAqGLIPK3g6wAASCDpAgCqcGVESdIFAJBA0wUAkMB4EQCowjVdJUkXAEACSRcAUIVF+pKkCwAggaQLAKhC0lWSdAEAJNB0AQAkMF4EAKpwZURJ0gUAkEDSBQBUMcsifUHSBQCQQNMFAJDAeBEAqMIifUnSBQCQQNIFAFThRvqSpAsAIIGkCwCoQtJVknQBACTQdAEAJDBeBACqcGVESdIFAJBA0gUAVGGRviTpAgBIoOkCAEhgvAgAVGGRviTpAgBIIOkCAKqwSF+SdAEAJJB0AQBVSLpKki4AgASaLgCABMaLAEAVrowoSboAABJIugCAKizSlyRdAAAJOt1ut9vPG//vf/9Y7Vr+YX/e8bvWJfRl9qVLWpfQ0/iSe1qXAIXl957buoS+3PPBR1qX0NMHvnJS6xJ6+o/tu1qX0JeHfvSH1iX0dFl3R7Ozn/jNS83OftvrX9Ps7EMxXgQAqrBIXzJeBABIIOkCAKqwSF+SdAEAJNB0AQAkMF4EAKqYZbpYkHQBACSQdAEAVVikL0m6AAASSLoAgCokXSVJFwBAAk0XAEAC40UAoAq/vViSdAEAJJB0AQBVWKQvSboAABJougCAGe/Xv/51fPSjH41jjjkm5syZE6effnps27ZtoGcYLwIAVRwpi/R79uyJ8847L84///z40Y9+FK9//evjueeei3nz5g30HE0XADCj3XjjjXH88cfH7bfffuDZokWLBn6O8SIAUMVQp9PsNTExEXv37i1eExMTr1jnD37wg1iyZEl86EMfimOPPTYWL14ct9122+C/j4F/IgBAY2NjYzEyMlK8xsbGXvG9v/jFL+KWW26Jk08+OX784x/Hpz71qbjyyivjzjvvHGhNxosAQBWdmGx29rp162J0dLR4Njw8/IrvnZycjCVLlsQNN9wQERGLFy+OZ555Jm699dZYtWrVwGrSdAEA087w8PAhm6y/tWDBgnjrW99aPHvLW94S995770BrMl4EAGa08847L3bs2FE8e/bZZ+ONb3zjQM+RdAEAVXQ67caLh+Nzn/tcnHvuuXHDDTfEhz/84di6dWts2rQpNm3aNNBzJF0AwIx29tlnx+bNm2N8fDxOO+20uO6662Ljxo2xcuXKgZ4j6QIAqhiK/a1L6NvFF18cF198cdUzJF0AAAk0XQAACYwXAYAqjpRF+iySLgCABJIuAKCKljfST0WSLgCABJIuAKAKO10lSRcAQAJNFwBAAuNFAKCKI+lG+gySLgCABJIuAKAKi/QlSRcAQIK+k67vfmxrzToGYkV3U+sS+jLeubx1CT2t2La8dQk9jS+5p3UJ08aKPRtal9DTvtec0bqEvrzrwlWtS+hp8/XPty5h2lh8Zqd1CRxBjBcBgCrcSF8yXgQASCDpAgCqsEhfknQBACSQdAEAVXRcjlqQdAEAJNB0AQAkMF4EAKoYskhfkHQBACSQdAEAVbgctSTpAgBIoOkCAEhgvAgAVOFG+pKkCwAggaQLAKjCjfQlSRcAQAJJFwBQhZ2ukqQLACCBpgsAIIHxIgBQxZAb6QuSLgCABJIuAKAKv71YknQBACTQdAEAJDBeBACqcE9XSdIFAJBA0gUAVOG3F0uSLgCABJIuAKCKITtdBUkXAEACTRcAQALjRQCgCjfSlyRdAAAJJF0AQBUuRy1JugAAEmi6AAASGC8CAFW4kb4k6QIASCDpAgCqsEhfknQBACTQdAEAJOh7vPjufY/VrGNAnm5dQF9WdDe1LqGnl9d/vXUJ08aKPRtal9DT+LwNrUvoacW/r21dQl/m3PfN1iX0NrS6dQXTxilPfbt1CVNap9twvNhpd/ShSLoAABJYpAcA6pB0FSRdAAAJJF0AQB0tk64pSNIFAJBA0wUAkMB4EQCoo9ttXcGUIukCAEgg6QIA6rBIX5B0AQAk0HQBACQwXgQA6pg0XjyYpAsAIIGkCwCowyJ9QdIFAJBA0gUA1CHpKki6AAASaLoAABIYLwIAdRgvFiRdAAAJJF0AQB0uRy1IugAAEmi6AAASGC8CAHV0u60rmFIkXQAACSRdAEAdrowoSLoAABJIugCAOiRdBUkXAEACTRcAQALjRQCgim7D8WKn2cmHJukCAEgg6QIA6vDbiwVJFwBAAk0XAEAC40UAoA73dBUkXQAACSRdAEAd3W7rCqYUSRcAQAJJFwBQh52uQt9N17yxlTXrGIhfb9/VuoS+zDvpta1L6OnFr/3P1iX0tHzx51qX0Jd9rzmjdQk9rfj3ta1L6Gn8DRtblzBtrNizoXUJve37fesK+jLZfVXrEnqaNRWvZp+hjBcBABIYLwIAdRgvFiRdAAAJJF0AQB1+e7Eg6QIASKDpAgBIYLwIANRhkb4g6QIASCDpAgDqkHQVJF0AAAkkXQBAHd1u6wqmFEkXAEACTRcAQALjRQCgDjfSFyRdAAAJJF0AQB2ujChIugAA/uprX/tadDqdWLt27cA/W9MFABARjz/+eHz729+OM844o8rna7oAgDq6k81eExMTsXfv3uI1MTFxyFJfeumlWLlyZdx2220xb968Kl+HpgsAmHbGxsZiZGSkeI2NjR3y/WvWrImLLrooli1bVq0mi/QAQB0Nr4xYt25djI6OFs+Gh4df8b333HNPPPHEE/H4449XrUnTBQBMO8PDw4dssg72q1/9Kj772c/GAw88ELNnz65ak6YLAKjjCLgcdfv27bF79+5429veduDZ/v3746GHHoqbbropJiYmYtasWQM5S9MFAMxY733ve+NnP/tZ8Wz16tVxyimnxJe//OWBNVwRmi4AYAabO3dunHbaacWzo446Ko455pi/e/6P0nQBAHUcAePFTJouAICDPPjgg1U+V9MFANQx2W1dwZTiclQAgASaLgCABMaLAEAdFukLki4AgASSLgCgDklXQdIFAJBA0wUAkMB4EQCow3ixIOkCAEgg6QIA6pB0FSRdAAAJJF0AQB2SrkLfTdfm65+vWccM84fWBfS0YtW/tC6hp/EPPtK6hL6868JVrUvoac5932xdAonG521oXcK08YGvnNS6hJ7mXHdf6xL4K+NFAIAExosAQB2T3dYVTCmSLgCABJIuAKAOi/QFSRcAQAJNFwBAAuNFAKAO48WCpAsAIIGkCwCootttl3R1mp18aJIuAIAEki4AoA47XQVJFwBAAk0XAEAC40UAoA7jxYKkCwAggaQLAKhjstu6gilF0gUAkEDTBQCQwHgRAKjDIn1B0gUAkEDSBQDUIekqSLoAABJIugCAOiRdBUkXAEACTRcAQALjRQCgDuPFgqQLACCBpAsAqEPSVZB0AQAk0HQBACQwXgQA6jBeLEi6AAASSLoAgDomu60rmFIkXQAACSRdAEAddroKki4AgASaLgCABMaLAEAdxosFSRcAQAJJFwBQh6SrIOkCAEjQd9K1orupZh0D0f3X8dYl9OV371nfuoSexue8p3UJPX3gKye1LqEvm69/vnUJvQ2tbl1BTyv2bGhdQl/G521oXcK0sPjMTusS+rJn3V2tS+hpTusCOMB4EQCoorvfjfQHM14EAEgg6QIA6vDbiwVJFwBAAkkXAFCHna6CpAsAIIGmCwAggfEiAFBF1yJ9QdIFAJBA0gUA1GGRviDpAgBIoOkCAEhgvAgA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\n",
      "text/plain": [
       "<Figure size 800x800 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 可视化成对距离矩阵\n",
    "plt.figure(figsize=(8,8))\n",
    "sns.heatmap(D_threshold, square = True, \n",
    "            cmap = 'RdYlBu', vmin = 0, vmax = 10,\n",
    "            # annot=True, fmt=\".3f\",\n",
    "            xticklabels = [], yticklabels = [])\n",
    "plt.savefig('成对距离矩阵_heatmap, 设定阈值.svg')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "47f7da47-1864-4bf6-93c6-0d91a2a5dd6f",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 创建无向图\n",
    "G_threshold = nx.Graph(D_threshold, nodetype=int)\n",
    "# 用邻接矩阵创建无向图\n",
    "\n",
    "# 添加节点和边\n",
    "for i in range(12):\n",
    "    G_threshold.add_node(i, pos=(points[i, 0], points[i, 1]))  \n",
    "\n",
    "# 取出节点位置\n",
    "pos = nx.get_node_attributes(G_threshold, 'pos')\n",
    "\n",
    "# 增加节点属性\n",
    "node_labels = {i: chr(ord('a') + i) for i in range(len(G_threshold.nodes))} \n",
    "edge_weights = [G_threshold[i][j]['weight'] for i, j in G_threshold.edges]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "db062fe6-531d-4d8c-814d-177a0cf83aa5",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 600x600 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 可视化图\n",
    "fig, ax = plt.subplots(figsize = (6,6))\n",
    "nx.draw_networkx(G_threshold, pos, \n",
    "                 with_labels=True, \n",
    "                 labels=node_labels, \n",
    "                 node_size=100, \n",
    "                 edge_vmin = 0, edge_vmax = 10,\n",
    "                 node_color='grey', \n",
    "                 font_color='black', \n",
    "                 edge_color=edge_weights,\n",
    "                 edge_cmap=plt.cm.RdYlBu,\n",
    "                 width=1, alpha=0.7)\n",
    "\n",
    "ax.set_xlim(0,10)\n",
    "ax.set_ylim(0,10)\n",
    "ax.grid()\n",
    "ax.set_aspect('equal', adjustable='box')\n",
    "plt.savefig('成对距离矩阵_无向图_阈值.svg')\n",
    "plt.show()\n"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.9"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
